perm filename FOROUT.LAP[3,LMM] blob sn#038927 filedate 1973-04-30 generic text, type T, neo UTF8
(DEFPROP FOROUTFNS (FOROUTFNS (SPECIAL PRINRADCTAB) PRINENTRY PRINCTAB NUMNODES PRINRAD1 PRINRAD LAYOUT PRINNUM →
FORFILE PICTURESTO SPACES CLOSEFIL (SETQ FORFILE NIL)) VALUE) 

(LAP PRINENTRY SUBR) 
       (PUSH P 2.) 
       (MOVE 2. 3.) 
       (EXCH 1. 0. P) 
       (CALL 2. (E CONS) S) 
       (POP P 2.) 
       (CALL 2. (E XCONS) S) 
       (MOVE 2. (SPECIAL PRINRADCTAB) S) 
       (CALL 2. (E CONS) S) 
       (MOVEM 1. (SPECIAL PRINRADCTAB) S) 
       (POPJ P) 
       NIL 

(LAP PRINCTAB SUBR) 
       (JSP 6. SPECBIND) 
       (0. 1. (SPECIAL CTAB) S) 
       (PUSH P 2.) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (MOVE 1. -3. P) 
       (JUMPE 1. TAG9) 
       (HLRZ@ 1. -3. P) 
       (MOVEM 1. -2. P) 
       (HRRZ@ 1. 1.) 
       (MOVEI 3. (QUOTE NIL)) 
       (MOVE 2. -4. P) 
       (HLRZ@ 1. 1.) 
       (CALL 3. (E LMASSOC) S) 
       (JSP 6. SPECBIND) 
       (0. 0. (SPECIAL Y) S) 
       (MOVEM 1. -1. P) 
       (HRRZ@ 1. 1.) 
       (PUSH P 1.) 
       (HRRZ@ 1. -3. P) 
       (HRRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
       (PUSH P 1.) 
       (HLRZ@ 1. -3. P) 
       (PUSH P 1.) 
       (HRRZ@ 1. -5. P) 
       (HRRZ@ 1. 1.) 
       (HRRZ@ 1. 1.) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG2  (MOVE 1. -1. P) 
       (JUMPN 1. TAG19) 
       (JRST 0. TAG5) 
 TAG19 (HLRZ@ 1. -1. P) 
       (MOVEM 1. (SPECIAL Y) S) 
       (CAIE 1. (QUOTE FV) S) 
       (JRST 0. TAG22) 
       (JRST 0. TAG4) 
 TAG22 (MOVEI 3. (QUOTE NIL)) 
       (MOVE 2. -9. P) 
       (MOVE 1. (SPECIAL Y) S) 
       (CALL 3. (E LMASSOC) S) 
       (MOVE 2. 0. P) 
       (HLRZ@ 1. 1.) 
       (CALL 2. (E CONS) S) 
       (MOVEM 1. 0. P) 
 TAG3 
 TAG4  (HRRZ@ 1. -1. P) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG2) 
 TAG5  (MOVE 2. 0. P) 
       (PUSHJ P SPECSTR) 
       (MOVE 1. -4. P) 
       (CALL 2. (E *APPEND) S) 
       (MOVE 3. 1.) 
       (MOVE 2. -3. P) 
       (EXCH 1. -2. P) 
       (CALL 3. (E PRINENTRY) S) 
       (SUB P (C 5. 0. 5. 0.)) 
 TAG6 
 TAG7 
 TAG8  (HRRZ@ 1. -3. P) 
       (MOVEM 1. -3. P) 
       (JRST 0. TAG1) 
 TAG9  (MOVE 1. 0. P) 
       (SUB P (C 5. 0. 5. 0.)) 
       (JRST 0. SPECSTR) 
       NIL 

(LAP NUMNODES SUBR) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (HLRZ@ 1. 1.) 
       (JUMPN 1. TAG9) 
       (MOVEI 1. (QUOTE 0.)) 
       (JRST 0. TAG8) 
 TAG9  (HLRZ@ 1. -3. P) 
       (CALL 1. (E ATOM) S) 
       (JUMPE 1. TAG11) 
       (MOVEI 1. (QUOTE 1.)) 
       (JRST 0. TAG8) 
 TAG11 (HLRZ@ 1. -3. P) 
       (HRRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
       (CAIN 1. (QUOTE STRUC) S) 
       (JRST 0. TAG12) 
       (MOVEI 1. (QUOTE 1.)) 
       (JRST 0. TAG8) 
 TAG12 (HLRZ@ 1. -3. P) 
       (HRRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
       (CALL 1. (E NODES) S) 
       (CALL 1. (E LENGTH) S) 
 TAG8  (HRRZ@ 2. -3. P) 
       (MOVEM 2. -1. P) 
       (MOVEM 1. 0. P) 
 TAG1  (MOVE 1. -1. P) 
       (JUMPE 1. TAG4) 
       (HLRZ@ 1. -1. P) 
       (MOVEM 1. -2. P) 
       (HRRZ@ 1. 1.) 
       (PUSH P 1.) 
       (HLRZ@ 1. -3. P) 
       (CALL 1. (E NUMNODES) S) 
       (POP P 2.) 
       (CALL 2. (E *TIMES) S) 
       (MOVE 2. 0. P) 
       (CALL 2. (E *PLUS) S) 
       (MOVEM 1. 0. P) 
 TAG2 
 TAG3  (HRRZ@ 1. -1. P) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG1) 
 TAG4  (MOVE 1. 0. P) 
       (SUB P (C 4. 0. 4. 0.)) 
       (POPJ P) 
       NIL 

(LAP PRINRAD1 SUBR) 
       (PUSH P 1.) 
       (PUSH P 2.) 
       (PUSH P 3.) 
       (HLRZ@ 1. 3.) 
       (PUSH P 1.) 
       (HRRZ@ 1. 3.) 
       (CALL 1. (E CLEXPAND) S) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (MOVE 1. -4. P) 
       (JUMPN 1. TAG21) 
       (HLRZ@ 1. -6. P) 
       (PUSH P 1.) 
       (HRRZ@ 1. -7. P) 
       (HLRZ@ 1. 1.) 
       (HLRZ@ 3. -4. P) 
       (HRRZ@ 2. -7. P) 
       (PUSH P 1.) 
       (MOVE 1. -1. P) 
       (CALL 3. (E PRINRAD1) S) 
       (MOVE 2. -1. P) 
       (CALL 2. (E XCONS) S) 
       (HRRZ@ 3. -5. P) 
       (HLRZ@ 3. 3.) 
       (MOVE 2. 1.) 
       (POP P 1.) 
       (CALL 3. (E PRINRAD1) S) 
       (SUB P (C 1. 0. 1. 0.)) 
       (JRST 0. TAG20) 
 TAG21 (CALL 1. (E ATOM) S) 
       (JUMPN 1. TAG25) 
       (HRRZ@ 1. -4. P) 
       (HLRZ@ 1. 1.) 
       (HLRZ@ 1. 1.) 
       (CAIN 1. (QUOTE STRUC) S) 
       (JRST 0. TAG23) 
 TAG25 (HRRZ@ 1. -6. P) 
       (MOVEM 1. -1. P) 
       (PUSH P -3. P) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (MOVE 1. -2. P) 
       (JUMPE 1. TAG4) 
       (HLRZ@ 1. -2. P) 
       (MOVE 2. -3. P) 
       (MOVEM 1. -1. P) 
       (HLRZ@ 1. -4. P) 
       (CALL 2. (E CONS) S) 
       (MOVE 3. -1. P) 
       (MOVE 2. -4. P) 
       (MOVEM 1. -3. P) 
       (HLRZ@ 1. -9. P) 
       (CALL 3. (E PRINRAD1) S) 
       (MOVEM 1. -4. P) 
 TAG2 
 TAG3  (HRRZ@ 1. -2. P) 
       (MOVEM 1. -2. P) 
       (JRST 0. TAG1) 
 TAG4  (PUSH P -7. P) 
       (PUSH P -10. P) 
       (HLRZ@ 1. 0. P) 
       (MOVEM 1. -4. P) 
       (MOVE 1. -12. P) 
       (JUMPE 1. TAG33) 
       (MOVE 2. -5. P) 
       (CALL 2. (E CONS) S) 
       (MOVE 3. 1.) 
       (JRST 0. TAG32) 
 TAG33 (MOVE 3. -5. P) 
 TAG32 (MOVE 2. -1. P) 
       (MOVE 1. -4. P) 
       (CALL 3. (E PRINENTRY) S) 
       (MOVE 1. -6. P) 
       (SUB P (C 5. 0. 5. 0.)) 
       (JRST 0. TAG20) 
 TAG23 (MOVE 1. -7. P) 
       (JUMPN 1. TAG39) 
       (MOVE 1. -6. P) 
       (JRST 0. TAG38) 
 TAG39 (MOVE 1. -7. P) 
       (CALL 1. (E NCONS) S) 
       (HLRZ@ 2. -6. P) 
       (CALL 2. (E XCONS) S) 
       (HLRZ@ 2. -4. P) 
       (CALL 2. (E XCONS) S) 
       (CALL 1. (E NCONS) S) 
       (MOVEM 1. -2. P) 
       (HRRZ@ 1. -6. P) 
 TAG38 (MOVEM 1. -1. P) 
       (HRRZ@ 1. -4. P) 
       (HLRZ@ 1. 1.) 
       (CALL 1. (E NODES) S) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG5  (MOVE 1. -2. P) 
       (JUMPE 1. TAG8) 
       (HLRZ@ 1. -2. P) 
       (MOVEM 1. -1. P) 
       (HLRZ@ 2. -7. P) 
       (CALL 2. (E EQUAL) S) 
       (JUMPN 1. TAG7) 
       (HLRZ@ 1. -4. P) 
       (CALL 1. (E NCONS) S) 
       (MOVE 2. -1. P) 
       (CALL 2. (E XCONS) S) 
       (MOVE 2. -5. P) 
       (CALL 2. (E CONS) S) 
       (HRRZ@ 2. -4. P) 
       (MOVEM 2. -4. P) 
       (MOVEM 1. -5. P) 
 TAG6 
 TAG7  (HRRZ@ 1. -2. P) 
       (MOVEM 1. -2. P) 
       (JRST 0. TAG5) 
 TAG8  (HRRZ@ 1. -7. P) 
       (HRRZ@ 1. 1.) 
       (MOVEM 1. -2. P) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG9  (MOVE 1. -7. P) 
       (JUMPE 1. TAG16) 
       (HLRZ@ 1. -7. P) 
       (MOVE 2. 1.) 
       (MOVEM 2. -2. P) 
       (MOVEM 1. -4. P) 
 TAG10 (MOVE 1. -2. P) 
       (JUMPE 1. TAG14) 
       (HLRZ@ 1. -2. P) 
       (MOVEI 3. (QUOTE NIL)) 
       (MOVE 2. -10. P) 
       (MOVEM 1. -3. P) 
       (CALL 3. (E LMASSOC) S) 
       (MOVEM 1. -1. P) 
       (PUSH P (C 0. 0. TAG56 0.)) 
       (PUSH P 1.) 
       (HLRZ@ 1. -11. P) 
       (CALL 1. (E NCONS) S) 
       (PUSH P 1.) 
       (MOVNI 6. 2.) 
       (JCALL 14. (E NCONC) S) 
 TAG56 (HLRZ@ 3. -11. P) 
       (MOVE 2. -9. P) 
       (HLRZ@ 1. -1. P) 
       (CALL 3. (E PRINRAD1) S) 
       (HRRZ@ 2. -11. P) 
       (MOVEM 2. -11. P) 
       (MOVEM 1. -9. P) 
 TAG11 
 TAG12 
 TAG13 (HRRZ@ 1. -2. P) 
       (MOVEM 1. -2. P) 
       (JRST 0. TAG10) 
 TAG14 
 TAG15 (HRRZ@ 1. -7. P) 
       (MOVEM 1. -7. P) 
       (JRST 0. TAG9) 
 TAG16 (HRRZ@ 1. -12. P) 
       (HLRZ@ 1. 1.) 
       (HRRZ@ 1. 1.) 
       (MOVE 2. -10. P) 
       (HLRZ@ 1. 1.) 
       (CALL 2. (E PRINCTAB) S) 
       (MOVE 1. -9. P) 
       (SUB P (C 8. 0. 8. 0.)) 
 TAG20 (SUB P (C 8. 0. 8. 0.)) 
       (POPJ P) 
       NIL 

(LAP PRINRAD SUBR) 
       (JSP 6. SPECBIND) 
       (0. 0. (SPECIAL PRINRADCTAB) S) 
       (PUSH P 1.) 
       (CALL 1. (E NUMNODES) S) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (MOVEI 2. (QUOTE 1.)) 
       (MOVE 1. -1. P) 
       (CALL 2. (E *LESS) S) 
       (JUMPN 1. TAG4) 
       (MOVE 2. 0. P) 
       (MOVE 1. -1. P) 
       (CALL 2. (E CONS) S) 
       (MOVEM 1. 0. P) 
 TAG2 
 TAG3  (MOVEI 2. (QUOTE -1.)) 
       (MOVE 1. -1. P) 
       (CALL 2. (E *PLUS) S) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG1) 
 TAG4  (MOVE 2. 0. P) 
       (MOVE 3. -2. P) 
       (MOVEI 1. (QUOTE NIL)) 
       (CALL 3. (E PRINRAD1) S) 
       (SUB P (C 2. 0. 2. 0.)) 
       (MOVE 2. (SPECIAL PRINRADCTAB) S) 
       (MOVE 1. (SPECIAL TITLE) S) 
       (CALL 2. (E CONS) S) 
       (CALL 1. (E LAYOUT) S) 
       (MOVEI 1. (QUOTE NIL)) 
       (SUB P (C 1. 0. 1. 0.)) 
       (JRST 0. SPECSTR) 
       NIL 

(LAP LAYOUT SUBR) 
       (JSP 6. SPECBIND) 
       (0. 1. (SPECIAL CTAB) S) 
       (0. 0. (SPECIAL *NOPOINT) S) 
       (MOVEI 1. (QUOTE T) S) 
       (MOVEM 1. (SPECIAL *NOPOINT) S) 
       (CALL 0. (E FORFILE) S) 
       (CALL 1. (E OUTC) S) 
       (PUSH P 1.) 
       (HRRZ@ 1. (SPECIAL CTAB) S) 
       (CALL 1. (E LENGTH) S) 
       (MOVEI 2. (QUOTE 5.)) 
       (CALL 2. (E PRINNUM) S) 
       (CALL 0. (E PICTURESTO) S) 
       (MOVEI 2. (QUOTE 3.)) 
       (CALL 2. (E PRINNUM) S) 
       (CALL 0. (E TERPRI) S) 
       (HRRZ@ 1. (SPECIAL CTAB) S) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (MOVE 1. -2. P) 
       (JUMPE 1. TAG8) 
       (HLRZ@ 1. -2. P) 
       (MOVEI 2. (QUOTE 3.)) 
       (MOVEM 1. -1. P) 
       (HLRZ@ 1. 1.) 
       (CALL 2. (E PRINNUM) S) 
       (MOVEI 1. (QUOTE 5.)) 
       (CALL 1. (E TAB) S) 
       (HRRZ@ 1. -1. P) 
       (HLRZ@ 1. 1.) 
       (CALL 1. (E PRINC) S) 
       (MOVEI 1. (QUOTE 7.)) 
       (CALL 1. (E TAB) S) 
       (JSP 6. SPECBIND) 
       (0. 0. (SPECIAL Y) S) 
       (HRRZ@ 1. -1. P) 
       (HRRZ@ 1. 1.) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG2  (MOVE 1. -1. P) 
       (JUMPE 1. TAG5) 
       (HLRZ@ 1. -1. P) 
       (MOVEM 1. (SPECIAL Y) S) 
       (CALL 1. (E NUMBERP) S) 
       (JUMPE 1. TAG4) 
       (MOVEI 2. (QUOTE 3.)) 
       (MOVE 1. (SPECIAL Y) S) 
       (CALL 2. (E PRINNUM) S) 
 TAG3 
 TAG4  (HRRZ@ 1. -1. P) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG2) 
 TAG5  (PUSHJ P SPECSTR) 
       (SUB P (C 2. 0. 2. 0.)) 
       (CALL 0. (E TERPRI) S) 
 TAG6 
 TAG7  (HRRZ@ 1. -2. P) 
       (MOVEM 1. -2. P) 
       (JRST 0. TAG1) 
 TAG8  (SUB P (C 3. 0. 3. 0.)) 
       (HLRZ@ 1. (SPECIAL CTAB) S) 
       (CALL 1. (E PRINC) S) 
       (CALL 0. (E TERPRI) S) 
       (MOVEI 1. (QUOTE "END*") S) 
       (CALL 1. (E PRINC) S) 
       (CALL 0. (E TERPRI) S) 
       (MOVEI 2. (QUOTE NIL)) 
       (MOVE 1. 0. P) 
       (CALL 2. (E OUTC) S) 
       (MOVEI 1. (QUOTE NIL)) 
       (SUB P (C 1. 0. 1. 0.)) 
       (JRST 0. SPECSTR) 
       NIL 

(LAP PRINNUM SUBR) 
       (PUSH P 1.) 
       (PUSH P 2.) 
       (CALL 1. (E FLATSIZEC) S) 
       (MOVE 2. 1.) 
       (MOVE 1. 0. P) 
       (CALL 2. (E *DIF) S) 
       (CALL 1. (E SPACES) S) 
       (MOVE 1. -1. P) 
       (CALL 1. (E PRINC) S) 
       (MOVEI 1. (QUOTE NIL)) 
       (SUB P (C 2. 0. 2. 0.)) 
       (POPJ P) 
       NIL 

(LAP FORFILE SUBR) 
       (MOVE 1. (SPECIAL FORFILE) S) 
       (JUMPE 1. TAG2) 
       (JRST 0. TAG1) 
 TAG2  (MOVEI 1. (QUOTE (FORFILECHAN DSK: (FOR01 . DAT))) S) 
       (CALL 15. (E OUTPUT) S) 
       (MOVEM 1. (SPECIAL FORFILE) S) 
 TAG1  (POPJ P) 
       NIL 

(DEFPROP FORFILE (FORFILE) VALUE) 

(LAP PICTURESTO SUBR) 
       (MOVEI 1. (QUOTE 5.)) 
       (POPJ P) 
       NIL 

(LAP SPACES SUBR) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG6 
 TAG2  (MOVEI 2. (QUOTE 1.)) 
       (MOVE 1. -1. P) 
       (CALL 2. (E *LESS) S) 
       (JUMPN 1. TAG5) 
       (MOVEI 1. (QUOTE " ") S) 
       (CALL 1. (E PRINC) S) 
 TAG3 
 TAG4  (MOVEI 2. (QUOTE -1.)) 
       (MOVE 1. -1. P) 
       (CALL 2. (E *PLUS) S) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG2) 
 TAG5  (MOVE 1. 0. P) 
       (SUB P (C 2. 0. 2. 0.)) 
       (POPJ P) 
       NIL 

(LAP CLOSEFIL SUBR) 
       (MOVEI 2. (QUOTE NIL)) 
       (MOVE 1. (SPECIAL FORFILE) S) 
       (CALL 2. (E OUTC) S) 
       (MOVEI 2. (QUOTE T) S) 
       (MOVEI 1. (QUOTE NIL)) 
       (CALL 2. (E OUTC) S) 
       (CLEARB 1. (SPECIAL FORFILE) S) 
       (POPJ P) 
       NIL 

(SETQ FORFILE NIL)